package com.example.demo;

/**
 * •@Package: heNan
 * •@ClassName: MD5Util
 * •@Author: wangxin
 * •@CreateTime: 2022/11/15 16:03
 * •@Description:
 */
import java.security.MessageDigest;

public class MD5Util {

    private static final String MD5_ALGORITHM = "MD5";

    public static final String getMD5Code(String s) throws Exception
    {
        char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
        byte[] btInput = s.getBytes("UTF-8");

        MessageDigest mdInst = MessageDigest.getInstance(MD5_ALGORITHM);

        mdInst.update(btInput);

        byte[] md = mdInst.digest();

        int j = md.length;
        char[] str = new char[j * 2];
        int k = 0;
        for (int i = 0; i < j; ++i)
        {
            byte byte0 = md[i];
            str[(k++)] = hexDigits[(byte0 >>> 4 & 0xF)];
            str[(k++)] = hexDigits[(byte0 & 0xF)];
        }
        return new String(str);
    }

}
